[Linux环境编程学习笔记_1]:I/O文件与目录
目录文件和目录1. 文件系统2. 文件属性结构体3. 文件信息3.1 文件类型3.2 设置位3.3 文件所有权3.4 文件权限操作接口3.4.1 文件权限屏蔽字 umask3.4.2 文件权限测试 access 和 faccessat3.4.3 文件权限修改函数 chmod,fchmod,fchmodat4. 文件所有者5. 文件链接5.1 硬链接5.2 符号链...
2024-01-10Linux下LNMP环境搭建博客网站(全过程)
通常我们所说的LNMP是指一个网站基本的组织框架,即Linux系统支持,Nginx静态服务,Mysql数据库支持以及PHP动态编程语言支持。目前Mysql数据库被Oracle数据库分析公司收购,其创始人以自己女儿的名字命名并同时开发了一个数据库,名为MariaDB数据库,数据库操作语法和语句基本与Mysql一致,对我们的操作...
2024-01-10【nginx】pm2 同台服务器部署不同的环境
我想在同一台服务器上部署不同的开发环境用pm2 守护,但是一直配置不成功,有遇到过的大佬给说一下呗!这是我的配置文件module.exports = {apps : [{name: '',append_env_to_name: true,script: './server.js',exec_mode: "cluster_mode",instances: "max",max_memory_restart: 8,autorestart: true,watch: false,env: {"NODE_ENV": "...
2024-01-10【Linux连接数据库环境的私有云搭建】Linux都没有,怎么学Linux编程?
本文准备从0开始,一步步搭建一套属于自己的多节点Linux系统环境,这将是后续学Linux、用Linux、Linux环境编程、应用和项目部署、工具实验等一系列学习和实践的基石,希望对小伙伴们有帮助。提前备好Linux编程实验环境非常重要,建议人手一套,这样以后每当学完一个理论知识需要实践时,立马就可...
2024-01-10【Java】【9k字+】第二篇:进阶:掌握 Redis 的一些进阶操作(Linux环境)
首页专栏java文章详情0【9k字+】第二篇:进阶:掌握 Redis 的一些进阶操作(Linux环境)BWH_Steven发布于 40 分钟前九 Redis 常用配置文件详解能够合理的查看,以及理解修改配置文件,能帮助我们更好的使用 Redis,下面按照 Redis 配置文件的顺序依次往下讲1k 和 1kb,1m 和 1mb 、1g 和 1gb 的大小是...
2024-01-10Linux环境使用g++编译C++方法总结
单个源文件生成可执行程序下面是一个保存在文件 helloworld.cpp 中一个简单的 C++ 程序的代码:/* helloworld.cpp */#include <iostream>int main(int argc,char *argv[]){ std::cout << "hello, world" << std::endl; return(0);}程序使用定义在头文件 iostream 中的 cout,向标准输出写入一个简单的字符串。该代码可用以下命令编译为...
2024-01-10JMeter:Linux环境中的分布式(远程)测试
我使用JMeter设置了分布式负载测试环境。我使用的 (红帽)(IPS:,xxx.xxx.xxx.121,xxx.xxx.xxx.122)xxx.xxx.xxx.123使用从我的Windows 8.1壳牌担保。我已经满足执行分布式测试的先决条件:所有机器(客户端和从机)都在同一子网中。所有计算机都禁用了防火墙。JMeter(2.13)和JDk版本(1.6.0_25)都相同。C...
2024-01-10Linux运维从初级进阶为高级知识点总结
运维工程师在前期是一个很苦逼的工作,在这期间可能干着修电脑、掐网线、搬机器的活,显得没地位!时间也很碎片化,各种零碎的琐事围绕着你,很难体现个人价值,渐渐的对行业很迷茫,觉得没什么发展前途。这些枯燥无味工作的确会使人匮乏,从技术层面讲这些其实都是基本功,对后期的运维...
2024-01-10Linux三阶段之一:架构介绍及环境部署
一、架构介绍及环境部署(一)了解集群架构服务器组成基本架构组成:(用于让用户进行访问)1、前端服务部分:1)顾客-用户是一个访问者,请求访问网站页面2)保安-防火墙设备对访问架构用户进行策略控制,正常访问网站用户,可以放行进入;非法人员(黑客)访问网站,禁止进入3)对...
2024-01-10C/C++编程札记:Unix AIX和Linux C语言库函数差别?
在这之前,先给大家简单介绍一下AIX:AIX(Advanced Interactive eXecutive)是IBM基于AT&T Unix System V开发的一套类UNIX操作系统,运行在IBM专有的Power系列芯片设计的小型机硬件系统之上。它符合Open group的UNIX 98行业标准(The Open Group UNIX 98 Base Brand),通过全面集成对32-位和64-位应用的并行运行支持,为这些应用...
2024-01-10Unix网络编程卷一源码编译踩坑记录ubtutu19.10
在阅读unpv1时运行源代码的环境配置,这里简单记录一下源代码里的README 写得挺详细的,但是在Linux 系统的下还是没办法直接编译通过的,这里我使用的是ubuntu 19.10(在腾讯云ubuntu server 18.04.1也测试通过)以下是简单的步骤:1.下载源码并解压2.解压源代码后得到unpv13e,3.开始编译cd unpv13e./configure c...
2024-01-10Python原始套接字编程[python高级教程]
在实验中需要自己构造单独的HTTP数据报文,而使用SOCK_STREAM进行发送数据包,需要进行完整的TCP交互。因此想使用原始套接字进行编程,直接构造数据包,并在IP层进行发送,即采用SOCK_RAW进行数据发送。使用SOCK_RAW的优势是,可以对数据包进行完整的修改,可以处理IP层上的所有数据包,对各字段进行...
2024-01-10print为什么在3时变成了函数?[python高级教程]
原理阐述print 语句 早就被列在了不可靠的语言特性列表中,例如 Guido 的“Python 之悔”(Python Regrets)演讲【1】,并计划在 Python 3000 版本移除。因此,本 PEP 的目的并不新鲜,尽管它可能会在 Python 开发人员中引起较大争议。以下对 print() 函数的争议是提取自 Guido 本人的 Python-3000 消息【2】:print 是唯...
2024-01-10用python编写的抓京东商品价格的爬虫[python高级教程]
闲着没事尝试抓一下京东的数据,需要使用到的库有:BeautifulSoup,urllib2,在Python2下测试通过from creepy import Crawlerfrom BeautifulSoup import BeautifulSoupimport urllib2import jsonclass MyCrawler(Crawler): def process_document(self, doc): if doc.status == 200: print...
2024-01-10Python高级编程-序列化
在程序运行的过程中,所有的变量都是在内存中,比如,定义一个dict:1 dict1 = {'name': 'Rob', 'age': 19, 'score': 90}可以随时修改变量,比如把age改成20,但是一旦程序结束,变量所占用的内存就被操作系统全部回收。如果没有把修改后的'Bill'存储到磁盘上,下次重新运行程序,变量又被初始化为19。很...
2024-01-10python多线程编程怎么退出[python高级教程]
python多线程编程退出的方法是在启动线程之前设置【daemon】这个属性为“True”。即当父进程结束时,所有的子进程跟着全部结束。首先补充一个知识点daemon:一个布尔值,指示此线程是否为守护线程(真)(假)。必须在start()调用之前设置此参数,否则RuntimeError引发该参数。它的初始值是从创建线程...
2024-01-10python怎样进行反编译[python高级教程]
python进行反编译的方法:可以利用第三方库uncompyle来实现。该库可以将代码反编译成字节码指令和源代码。例如:【uncompyle_file('test.pyc',fp,showasm=1,showast=0)】。1、使用第三方库uncompyle这个库可以将代码反编译成字节码指令和源代码(推荐教程:Python入门教程)举例:from uncompyle2 import *fp = open("code.txt...
2024-01-10十分钟搞定pandas[python高级教程]
习惯上,我们做以下导入In [1]: import pandas as pdIn [2]: import numpy as npIn [3]: import matplotlib.pyplot as plt创建对象使用传递的值列表序列创建序列, 让pandas创建默认整数索引In [4]: s = pd.Series([1,3,5,np.nan,6,8])In [5]: sOut[5]: 0 11 32 53 NaN4 65 8dtype: float64使用传...
2024-01-10详解Python中的Thread线程模块[python高级]
threading.ThreadThread 是threading模块中最重要的类之一,可以使用它来创建线程。有两种方式来创建线程:一种是通过继承Thread类,重写它的run方法;另一种是创建一个threading.Thread对象,在它的初始化函数(__init__)中将可调用对象作为参数传入。下面分别举例说明。先来看看通过继承threading.Thread类来创...
2024-01-10curl库pycurl实例及参数详解[python高级教程]
pycurl是功能强大的python的url库,是用c语言写的,速度很快,比urllib和httplib都快。今天我们来看一下pycurl的用法及参数详解常用方法:pycurl.Curl() #创建一个pycurl对象的方法pycurl.Curl().setopt(pycurl.URL, http://www.pythontab.com) #设置要访问的URLpycurl.Curl().setopt(pycurl.MAXREDIRS, 5) #设置最大重定向次数pycurl.Curl().setopt(py...
2024-01-10深入理解python之self[python高级教程]
首先明确的是self只有在类的方法中才会有,独立的函数或方法是不必带有self的。self在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。self名称不是必须的,在python中self不是关键词,你可以定义成a或b或其它名字都可以,但是约定成俗(为了和其他编程语言统一,减少理解难度),不要...
2024-01-10Lua下基本的网络编程示例
Lua是高度灵活的语言,它往往是在多个平台,包括Web应用程序中使用。成立2004年的Kepler社区提供Lua的Web组件开放源码。虽然,也有使用Lua已经开发了其他的web框架,我们将主要集中在Kepler社区提供的组件。应用程序和框架 Orbit 是一个lua的MVC Web框架,它是基于WSAPI。 WSAPI是从Lua的Web应用程...
2024-01-10Linux网络编程示例
简单TCP、UDP编程示例。 linux网络编程示例简单TCP、UDP编程示例。TCPTCP通信模型服务器代码#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <errno.h>#include <stdio.h>#include <unistd.h>#includ...
2024-01-10在Linux上以编程方式在C或C ++代码中为gdb设置断点
即:int main(int argc, char** argv){ /* set breakpoint here! */ int a = 3; a++; /* In gdb> print a; expect result to be 3 */ return 0;}回答:一种方法是发出中断信号:#include <csignal>// Generate an interruptstd::raise(SIGINT);在C中:#include <signal.h>raise(SIG...
2024-01-10Unix网络IO模型介绍
带着问题阅读1、什么是同步异步、阻塞非阻塞2、有几种IO模型,不同模型之间有什么区别3、不同IO模型的应用场景都是什么同步和异步、阻塞和非阻塞同步和异步广义上讲同步异步描述的是事件中发送方和接收方之间的关系。当发送方必须依赖接收方的响应结果(无论正确与否)才能进行下一...
2024-01-10如何在Linux上以编程方式获取堆的地址
我可以使用来获取堆末尾的地址sbrk(0),但是除了解析内容之外,有什么方法可以以编程方式获取堆头的地址/proc/self/maps吗?回答:我认为解析/proc/self/maps是Linux上找到堆段的唯一可靠方法。并且不要忘记某些分配器(包括我的SLES中的分配器)确实用于大块,mmap()因此内存不再是堆的一部分,可以位于...
2024-01-10Linux下C语言实现C/S模式编程
由标题可知,这篇文章主要讲如何用C语言实现一个C/S模式的程序。主要功能:时间回送。客户机发出请求,服务器响应时间,并返回服务器时间,与客户机进行同步。废话不多说,下面直接贴出源代码。代码如下:#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <errno.h> #inclu...
2024-01-10Linux系统编程—线程间通信
大家知道,互斥锁可以用于线程间同步,但是,每次只能有一个线程抢到互斥锁,这样限制了程序的并发行。如果我们希望允许多个线程同时访问同一个资源,那么使用互斥锁是没有办法实现的,只能互斥锁会将整个共享资源锁住,只允许一个线程访问。这种现象,使得线程依次轮流运行,也就是线程...
2024-01-10Linux编程之ICMP洪水攻击
我的上一篇文章《Linux编程之PING的实现》里使用ICMP协议实现了PING的程序,ICMP除了实现这么一个PING程序,还有哪些不为人知或者好玩的用途?这里我将介绍ICMP另一个很有名的黑科技:ICMP洪水攻击。 ICMP洪水攻击属于大名鼎鼎的DOS(Denial of Service)攻击的一种,一种是黑客们喜欢的攻击手段,这里本...
2024-01-10Linux系统编程之进程概念
注:本文部分图片来源于网络,如有侵权,请告知删除1. 什么是进程?在了解进程概念之前,我们需要先知道程序的概念。程序,是指编译好的二进制文件,这些文件在磁盘上,并不占用系统资源。进程,指的是一个程序的执行实例,是操作系统分配系统资源的单位,这里的系统资源有CPU时间,内...
2024-01-10